package contapassi.prova2;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;

import android.app.Activity;
import android.content.ContentValues;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;

public class ImportaView extends Activity{
	
	ListView lista;
	String percorso_salvato;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
	// TODO Auto-generatedmethodstub
	super.onCreate(savedInstanceState);
	setContentView(R.layout.explorer);
	
	lista = (ListView) findViewById(R.id.fileListView);
	percorso_salvato="/";
	
	creaAdapter();
	}
	
	private void creaAdapter()
	{
		if(!percorso_salvato.endsWith("/"))
			percorso_salvato+="/";
		ScansionatoreCartella sc = new ScansionatoreCartella(percorso_salvato);
		ArrayList<MyFile> listaFile = sc.getListaFinale();
		
		
		//Questa � la lista che rappresenta la sorgente dei dati della listview
        //ogni elemento � una mappa(chiave->valore)
        final ArrayList<HashMap<String, Object>> data=new ArrayList<HashMap<String,Object>>();
       
       
        for(int i=0;i<listaFile.size();i++){
                MyFile f=listaFile.get(i);// per ogni persona all'inteno della ditta
               
                HashMap<String,Object> fileMap=new HashMap<String, Object>();//creiamo una mappa di valori
               
                if(i==0)
                	fileMap.put("nome","INDIETRO"); // per la chiave image, inseriamo la risorsa dell immagine
                else
                	fileMap.put("nome", f.getNome()); // per la chiave image, inseriamo la risorsa dell immagine

                fileMap.put("icona", f.getID()); // per la chiave name,l'informazine sul nome
                fileMap.put("path", f.getPath());// per la chiave surnaname, l'informazione sul cognome
                data.add(fileMap);  //aggiungiamo la mappa di valori alla sorgente dati
        }
        
        String[] from={"nome","icona","path"}; //dai valori contenuti in queste chiavi
        int[] to={R.id.fileName,R.id.fileImage,R.id.filePath};//agli id delle view
       
        //costruzione dell adapter
        SimpleAdapter adapter=new SimpleAdapter(
                        getApplicationContext(),
                        data,//sorgente dati
                        R.layout.riga_elenco, //layout contenente gli id di "to"
                        from,
                        to);

        //utilizzo dell'adapter
        lista.setAdapter(adapter);
        
        lista.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        	@Override
	        public void onItemClick(AdapterView parent, View v,int position, long id) 
        	{
        		HashMap<String, Object> d = data.get(position);
        		File f=new File((String) d.get("path"));
        		
        		//System.out.println("Siamo in " + d.get("path") + " e i permessi sono: lettura= " + f.canRead() + " scrittura= " + f.canWrite());
        		//for(int i=0;i<f.list().length;i++)
        			//System.out.println(f.list()[i]);
        		
        		
        		if(d.get("path").equals("/"))
        			Toast.makeText(getBaseContext(), position + "Siamo nella directory /",Toast.LENGTH_SHORT).show();
        		
        		if(d.get("icona").equals(R.drawable.cartella))
        		{
        			percorso_salvato=(String) d.get("path");
        			creaAdapter();
        		}
        		if(d.get("icona").equals(R.drawable.json))
        		{
        			Toast.makeText(getBaseContext(), "JSON: " + d.get("nome") ,Toast.LENGTH_SHORT).show();
        			FileManager fm = new FileManager();
        			String json="";
        			try {
						json = fm.getStringFromFile((String) d.get("path"));
					} catch (FileNotFoundException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					System.out.println(json);
					
					//scrivere json sul db
//					MyDB2 db=new MyDB2(getApplicationContext());
					MyDatabase db=new MyDatabase(getApplicationContext());
//					
//					try{
//					
//						db.createDataBase();
//					}catch(IOException e){
//						
//					}	
		        	db.open();
//					
					db.insertAllenamento(json);
//					
					db.close();

					
					finish();
        		}
        		
	        }
        });

    }
	
		
}
